﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ABC_SA_BL;
using ABC_SA_DM;

namespace ABC_SA_BLV
{
    public class DestinoPaquete_BLV
    {
        public void consultaListas(DataGridView DGPaquetes, DataGridView DGDestinos) { 
            //////////////////  LLena el DataGrid Paquetes /////////////////////////////////
            //Solicita la lista de paquetes a la capa BL
            Paquete_BL Paquete_BL = new Paquete_BL();
            List<Paquete> listaP = new List<Paquete>();
            
            //listaP contiene la lista de paquetes
            listaP = Paquete_BL.consultaListaPaquetesInfo();
            //Se recorre la lista para ingresar los registros al DataGrid
            for (int i = 0; i < listaP.Count(); i++)
            {
                // Crea el String que se agregara al Datagrid, y luego lo agrega
                string[] newRow = { listaP.ElementAt(i).nombreSG, listaP.ElementAt(i).idSG + "" };
                DGPaquetes.Rows.Add(newRow);
            }
            //////////////////  LLena el DataGrid Destinos /////////////////////////////////

            //Solicita la lista de destinos a la capa BL
            Destino_BL Destino_BL = new Destino_BL();
            List<Destino> listaD = Destino_BL.consultaListaDestinos();

            //Se recorre la lista para ingresar los registros al DataGrid
            for (int i = 0; i < listaD.Count(); i++)
            {
                // Crea el String que se agregara al Datagrid, y luego lo agrega
                string[] newRow = { listaD.ElementAt(i).NombreDestino, listaD.ElementAt(i).IdDestino + "" };
                DGDestinos.Rows.Add(newRow);
            }
        }
        
        public void mostrarPaquete(TextBox nombre, TextBox descripcion, Label idPaquete, int intPaquete)
        {
            //Se envía el idPaquete a la capa BL
            Paquete_BL Paquete_BL = new Paquete_BL();
            Paquete paqueteAMostrar = Paquete_BL.mostrarPaquete(intPaquete);

            nombre.Text = paqueteAMostrar.nombreSG;
            descripcion.Text = paqueteAMostrar.descripcionSG;
            idPaquete.Text = paqueteAMostrar.idSG+"";
        }

        public void mostrarDestino(TextBox nombre, TextBox descripcion, Label idDestino, int intDestino)
        {
            //Se envía el idPaquete a la capa BL
            Destino_BL Destino_BL = new Destino_BL();
            Destino destinoAMostrar = Destino_BL.mostrarDestinoSimple(intDestino);

            nombre.Text = destinoAMostrar.NombreDestino;
            descripcion.Text = destinoAMostrar.Descripcion;
            idDestino.Text = destinoAMostrar.IdDestino+"";
        }

        public string agregarDestino(TextBox nombreDestino, TextBox descripcionDestino, Label idDestino, Label idPaquete)
        {
            //Inicializacion de variables
            string valorReturn = "";

            try
            {
                //Captura y convierte a INT el valor del ID Destino
                int intDestino = Convert.ToInt32(idDestino.Text);

                //Captura y convierte a INT el valor del ID Paquete
                int intPaquete = Convert.ToInt32(idPaquete.Text);

                //Se envía el idPaquete a la capa BL
                ////Paquete_BL Paquete_BL = new Paquete_BL();
                ////Paquete_BL.relacionaPaqueteDestino(intPaquete,intDestino);

                valorReturn = "Se ha agregado el Destino al Paquete correctamente.";
                limpiarCampos(nombreDestino, descripcionDestino, idDestino);

            }
            catch
            {
                valorReturn = "Debe de mostrar un Paquete y un Destino existente de la lista Izquierda.";
            }
            return valorReturn;
        }

        public void limpiarCampos(TextBox nombreDestino, TextBox descripcionDestino, Label idDestino)
        {
            nombreDestino.Text = "";
            descripcionDestino.Text = "";
            idDestino.Text = "Identificador";
        }

        public void limpiarCamposFULL(TextBox txtNDestino, TextBox txtDDestino, Label lblIdDestino, TextBox txtNPaquete, TextBox txtDPaquete, Label lblIdPaquete){

            txtDDestino.Text = "";
            txtDPaquete.Text = "";
            txtNDestino.Text = "";
            txtNPaquete.Text = "";
            lblIdDestino.Text = "Identificador";
            lblIdPaquete.Text = "Identificador";
        }
       
    }
}
